package org.adkii.core.proxy.dynamic;

import net.sf.cglib.proxy.Enhancer;
import org.adkii.core.proxy.statics.RealSubject;
import org.adkii.core.proxy.statics.Subject;


/**
 * @author malingdi
 * @description 基于cglib实现，不用接口，继承目标类，重写目标方法
 * @date 2025/5/12 21:46
 */
public class Main {
    public static void main(String[] args) {
        Enhancer enhancer = new Enhancer();
        enhancer.setSuperclass(RealSubject.class);           // 设置目标类为父类
        enhancer.setCallback(new LoginInterceptor());          // 设置回调方法

        Subject proxy = (Subject) enhancer.create(); // 创建代理对象

        proxy.request();
    }
}
